package com.framework.service.system;

import com.framework.common.model.response.R;
import com.framework.model.system.SystemLog;
import com.framework.model.system.vo.SystemUserVo;
import java.util.List;

/**
 * @author 龘鵺
 * @version 1.0
 * @className com.framework.service.system.SystemLogService
 * @description 系统管理操作日志接口类
 * @datetime 2024-06-19 09:34:28
 */
public interface SystemLogService {
    /**
     * @param id 1 编号
     * @return com.framework.model.system.SystemLog
     * @title 根据编号查询系统管理操作日志
     * @description 根据编号查询系统管理操作日志
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    SystemLog getByIdParam(Long id);

    /**
     * @param row 1 系统管理操作日志类
     * @return com.framework.common.model.response.R
     * @title 新增系统管理操作日志
     * @description 新增系统管理操作日志
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    R<?> save(SystemLog row);

    /**
     * @param row 1 系统管理操作日志类
     * @return com.framework.common.model.response.R
     * @title 编辑系统管理操作日志
     * @description 编辑系统管理操作日志
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    R<?> edit(SystemLog row);

    /**
     * @param id 1 编号
     * @return com.framework.common.model.response.R
     * @title 删除系统管理操作日志
     * @description 删除系统管理操作日志
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    R<?> delete(Long id);

    /**
     * @param idList 1 编号集合
     * @return com.framework.common.model.response.R
     * @title 批量删除系统管理操作日志
     * @description 批量删除系统管理操作日志
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    R<?> batchDeleteList(List<Long> idList);

    /**
     * @param row 1 系统管理操作日志类
     * @return java.util.List<com.framework.model.system.SystemLog>
     * @title 查询系统管理操作日志集合
     * @description 查询系统管理操作日志集合
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    List<SystemLog> findByList(SystemLog row);

    /**
     * @param row 1 系统管理操作日志类
     * @return com.framework.common.model.response.R
     * @title 分页查询系统管理操作日志列表
     * @description 分页查询系统管理操作日志列表
     * @author 龘鵺
     * @datetime 2024-06-19 09:34:28
     * @version 1.0
     */
    R<?> findParamPageList(SystemLog row);

    /**
     * @param user            1 用户实体类
     * @param ip              2 登录IP
     * @param operaterTitle   3 操作标题
     * @param operaterContent 4 操作内容
     * @title 用户操作日志添加
     * @description 用户操作日志添加
     * @author 龘鵺
     * @datetime 2024-06-19 10:50:37
     */
    void loginInfo(SystemUserVo user, String ip, String operaterTitle, String operaterContent);

}